<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 5.4.0">


  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">

<link rel="stylesheet" href="/css/main.css">



<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.4/css/all.min.css" integrity="sha256-mUZM63G8m73Mcidfrv5E+Y61y7a12O5mW4ezU3bxqW4=" crossorigin="anonymous">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/animate.css@3.1.1/animate.min.css" integrity="sha256-PR7ttpcvz8qrF57fur/yAx1qXMFJeJFiA6pSzWi0OIE=" crossorigin="anonymous">

<script class="next-config" data-name="main" type="application/json">{"hostname":"example.com","root":"/","images":"/images","scheme":"Muse","darkmode":false,"version":"8.8.1","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12},"copycode":false,"bookmark":{"enable":false,"color":"#222","save":"auto"},"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"stickytabs":false,"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"prism":false,"i18n":{"placeholder":"搜索...","empty":"没有找到任何搜索结果：${query}","hits_time":"找到 ${hits} 个搜索结果（用时 ${time} 毫秒）","hits":"找到 ${hits} 个搜索结果"}}</script><script src="/js/config.js"></script>
<meta name="description" content="vsftpd作为一个主打安全的FTP服务器，有很多的选项设置。下面介绍了vsftpd的配置文件列表，而所有的配置都是基于vsftpd.conf这个配置文件的。本文将提供完整的vsftpd.conf的中文说明。学习本文的内容将有助于你初步了解vsftpd的配置文件，但针对具体情况还需要制定具体的配置方法。 服务器相关文件这介绍服务器中配置相关的文件。     文件 说明    &#x2F;etc&#x2F;vsftpd">
<meta property="og:type" content="article">
<meta property="og:title" content="vsftpd服务器配置详细中文说明">
<meta property="og:url" content="http://example.com/2021/09/03/ftp-server-config/index.html">
<meta property="og:site_name" content="Maicss">
<meta property="og:description" content="vsftpd作为一个主打安全的FTP服务器，有很多的选项设置。下面介绍了vsftpd的配置文件列表，而所有的配置都是基于vsftpd.conf这个配置文件的。本文将提供完整的vsftpd.conf的中文说明。学习本文的内容将有助于你初步了解vsftpd的配置文件，但针对具体情况还需要制定具体的配置方法。 服务器相关文件这介绍服务器中配置相关的文件。     文件 说明    &#x2F;etc&#x2F;vsftpd">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2021-09-03T05:04:00.000Z">
<meta property="article:modified_time" content="2021-11-16T07:49:25.342Z">
<meta property="article:author" content="Maicss">
<meta property="article:tag" content="ftp">
<meta property="article:tag" content="linux">
<meta property="article:tag" content="vsftpd">
<meta name="twitter:card" content="summary">


<link rel="canonical" href="http://example.com/2021/09/03/ftp-server-config/">



<script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":false,"isPost":true,"lang":"zh-CN","comments":true,"permalink":"http://example.com/2021/09/03/ftp-server-config/","path":"2021/09/03/ftp-server-config/","title":"vsftpd服务器配置详细中文说明"}</script>

<script class="next-config" data-name="calendar" type="application/json">""</script>
<title>vsftpd服务器配置详细中文说明 | Maicss</title>
  




  <noscript>
    <link rel="stylesheet" href="/css/noscript.css">
  </noscript>
</head>

<body itemscope itemtype="http://schema.org/WebPage" class="use-motion">
  <div class="headband"></div>

  <main class="main">
    <header class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏" role="button">
        <span class="toggle-line"></span>
        <span class="toggle-line"></span>
        <span class="toggle-line"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <i class="logo-line"></i>
      <h1 class="site-title">Maicss</h1>
      <i class="logo-line"></i>
    </a>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger">
    </div>
  </div>
</div>



<nav class="site-nav">
  <ul class="main-menu menu">
        <li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a></li>
        <li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档</a></li>
  </ul>
</nav>




</div>
        
  
  <div class="toggle sidebar-toggle" role="button">
    <span class="toggle-line"></span>
    <span class="toggle-line"></span>
    <span class="toggle-line"></span>
  </div>

  <aside class="sidebar">

    <div class="sidebar-inner sidebar-nav-active sidebar-toc-active">
      <ul class="sidebar-nav">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <div class="sidebar-panel-container">
        <!--noindex-->
        <div class="post-toc-wrap sidebar-panel">
            <div class="post-toc animated"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9B%B8%E5%85%B3%E6%96%87%E4%BB%B6"><span class="nav-number">1.</span> <span class="nav-text">服务器相关文件</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#%E4%B8%BB%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E8%AF%B4%E6%98%8E"><span class="nav-number">1.1.</span> <span class="nav-text">主配置文件说明</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E7%94%A8%E6%88%B7%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6"><span class="nav-number">2.</span> <span class="nav-text">用户访问控制</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E9%85%8D%E7%BD%AEFTP%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E8%99%9A%E6%8B%9F%E7%94%A8%E6%88%B7"><span class="nav-number">3.</span> <span class="nav-text">配置FTP服务器的虚拟用户</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%85%B6%E5%AE%83%E4%B8%BB%E8%A6%81%E8%AE%BE%E7%BD%AE"><span class="nav-number">4.</span> <span class="nav-text">其它主要设置</span></a></li></ol></div>
        </div>
        <!--/noindex-->

        <div class="site-overview-wrap sidebar-panel">
          <div class="site-author site-overview-item animated" itemprop="author" itemscope itemtype="http://schema.org/Person">
  <p class="site-author-name" itemprop="name">Maicss</p>
  <div class="site-description" itemprop="description"></div>
</div>
<div class="site-state-wrap site-overview-item animated">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
        <a href="/archives/">
          <span class="site-state-item-count">13</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
      <div class="site-state-item site-state-tags">
        <span class="site-state-item-count">15</span>
        <span class="site-state-item-name">标签</span>
      </div>
  </nav>
</div>



        </div>
      </div>
    </div>
  </aside>
  <div class="sidebar-dimmer"></div>


    </header>

    
  <div class="back-to-top" role="button" aria-label="返回顶部">
    <i class="fa fa-arrow-up"></i>
    <span>0%</span>
  </div>

<noscript>
  <div class="noscript-warning">Theme NexT works best with JavaScript enabled</div>
</noscript>


    <div class="main-inner post posts-expand">


  


<div class="post-block">
  
  

  <article itemscope itemtype="http://schema.org/Article" class="post-content" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="http://example.com/2021/09/03/ftp-server-config/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="Maicss">
      <meta itemprop="description" content="">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="Maicss">
    </span>
      <header class="post-header">
        <h1 class="post-title" itemprop="name headline">
          vsftpd服务器配置详细中文说明
        </h1>

        <div class="post-meta-container">
          <div class="post-meta">
    <span class="post-meta-item">
      <span class="post-meta-item-icon">
        <i class="far fa-calendar"></i>
      </span>
      <span class="post-meta-item-text">发表于</span>

      <time title="创建时间：2021-09-03 13:04:00" itemprop="dateCreated datePublished" datetime="2021-09-03T13:04:00+08:00">2021-09-03</time>
    </span>
      <span class="post-meta-item">
        <span class="post-meta-item-icon">
          <i class="far fa-calendar-check"></i>
        </span>
        <span class="post-meta-item-text">更新于</span>
        <time title="修改时间：2021-11-16 15:49:25" itemprop="dateModified" datetime="2021-11-16T15:49:25+08:00">2021-11-16</time>
      </span>

  
</div>

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">
        <p>vsftpd作为一个主打安全的FTP服务器，有很多的选项设置。下面介绍了vsftpd的配置文件列表，而所有的配置都是基于vsftpd.conf这个配置文件的。本文将提供完整的vsftpd.conf的中文说明。学习本文的内容将有助于你初步了解vsftpd的配置文件，但针对具体情况还需要制定具体的配置方法。</p>
<h2 id="服务器相关文件"><a href="#服务器相关文件" class="headerlink" title="服务器相关文件"></a>服务器相关文件</h2><p>这介绍服务器中配置相关的文件。 </p>
<table>
<thead>
<tr>
<th>文件</th>
<th>说明</th>
</tr>
</thead>
<tbody><tr>
<td>/etc/vsftpd/vsftpd.conf</td>
<td>主配置文件</td>
</tr>
<tr>
<td>/usr/sbin/vsftpd</td>
<td>主程序可执行文件</td>
</tr>
<tr>
<td>/etc/rc.d/init.d/vsftpd</td>
<td>启动脚本</td>
</tr>
<tr>
<td>/etc/pam.d/vsftpd</td>
<td>PAM 认证文件（此文件中file=/etc/vsftpd/ftpusers字段，指明阻止访问的用户来自/etc/vsftpd/ftpusers文件中的用户）</td>
</tr>
<tr>
<td>/etc/vsftpd/ftpusers</td>
<td>禁止使用vsftpd 的用户列表文件。记录不允许访问FTP服务器的用户名单，管理员可以把一些对系统安全有威胁的用户账号记录在此文件中，以免用户从FTP登录后获得大于上传下载操作的权利，而对系统造成损坏。（注意： linux-4 中此文件在 /etc/ 目录下）</td>
</tr>
<tr>
<td>/etc/vsftpd/user_list</td>
<td>禁止或允许使用vsftpd 的用户列表文件。这个文件中指定的用户缺省情况（即在/etc/vsftpd/vsftpd.conf 中设置userlist_deny=YES ）下也不能访问FTP服务器，在设置了userlist_deny=NO 时,仅允许user_list 中指定的用户访问FTP 服务器。（注意： linux-4 中此文件在 /etc/ 目录下）</td>
</tr>
<tr>
<td>/var/ftp</td>
<td>匿名用户主目录；本地用户主目录为：/home/ 用户主目录 ，即登录后进入自己家目录</td>
</tr>
<tr>
<td>/var/ftp/pub</td>
<td>匿名用户的下载目录，此目录需赋权根chmod 1777 pub （1 为特殊权限，使上载后无法删除）</td>
</tr>
<tr>
<td>/etc/logrotate.d/vsftpd.log</td>
<td>Vsftpd 的日志文件</td>
</tr>
</tbody></table>
<h3 id="主配置文件说明"><a href="#主配置文件说明" class="headerlink" title="主配置文件说明"></a>主配置文件说明</h3><p>vsftpd 的主配置文件/etc/vsftpd/vsftpd.conf 说明( 修改前先备份) ： </p>
<figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 是否允许 匿名登录FTP服务器，默认设置为YES允许，即用户可使用用户名ftp或anonymous进行ftp登录，口令为用户的E-mail地址。如不允许匿名访问去掉前面#并设置为NO</span></span><br><span class="line"><span class="attr">anonymous_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment">#  是否允许本地用户 ( 即 linux 系统中的用户帐号) 登录FTP服务器，默认设置为YES允许， 本地用户登录后会进入用户主目录，而匿名用户登录后进入匿名用户的下载目录/var/ftp/pub ；若只允许匿名用户访问，前面加上#，可阻止本地用户访问FTP服务器。）</span></span><br><span class="line"><span class="attr">local_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 是否允许本地用户对 FTP 服务器文件具有写权限 ， 默认设置为 YES 允许</span></span><br><span class="line"><span class="attr">write_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 设置本地用户的文件掩码 为缺省022 ，也可根据个人喜好将其设置为其他值，默认值为077</span></span><br><span class="line"><span class="attr">local_umask</span>=<span class="number">022</span></span><br><span class="line"></span><br><span class="line"><span class="comment">#  是否允许匿名用户上传文件 ， 须将 write_enable=YES ， 默认设置为 YES 允许。</span></span><br><span class="line"><span class="comment"># 另外需要创建一个可由FTP用户写入的目录。</span></span><br><span class="line"><span class="attr">anon_upload_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 是否允许匿名用户创建新文件夹 ， 默认设置为 YES 允许</span></span><br><span class="line"><span class="attr">anon_mkdir_write_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 是否激活目录欢迎信息功能，当用户用 CMD模式首次访问服务器上某个目录时，FTP服务器将显示欢迎信息，默认情况下，欢迎信息是通过该目录下的.message 文件获得的，此文件保存自定义的欢迎信息，由用户自己建立。</span></span><br><span class="line"><span class="attr">dirmessage_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment">#  默认值为 NO 如果启用此选项，系统将会维护记录服务器上传和下载情况的日志文件，默认情况该日志文件为/var/log/vsftpd.log,也可以通过下面的 xferlog_file选项对其进行设定。</span></span><br><span class="line"><span class="attr">xferlog_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 设定 FTP 服务器将启用 FTP 数据端口的连接请求 ,ftp-data 数据传输 ，21 为连接控制端口</span></span><br><span class="line"><span class="attr">connect_from_port_20</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 设定是否允许 改变 上传文件的属主，与下面一个设定项配合使用</span></span><br><span class="line"><span class="attr">chown_uploads</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 设置想要改变的上传文件的属主，如果需要，则输入一个系统用户名，例如可以把上传的文件都改成 root 属主。whoever：任何人</span></span><br><span class="line"><span class="attr">chown_username</span>=whoever</span><br><span class="line"></span><br><span class="line"><span class="comment"># 设定系统维护记录FTP服务器上传和下载情况的日志文件，/var/log/vsftpd.log是默认的，也可以另设其它</span></span><br><span class="line"><span class="attr">xferlog_file</span>=/var/log/vsftpd.log</span><br><span class="line"></span><br><span class="line"><span class="comment"># 如果启用此选项 ， 传输日志文件将以标准 xferlog 的格式书写，该格式的日志文件默认为/var/log/xferlog,也可以通过xferlog_file选项对其进行设定，默认值为NO</span></span><br><span class="line"><span class="attr">xferlog_std_format</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 如果添加并启用此选项，将生成两个相似的日志文件，默认在/var/log/xferlog和/var/log/vsftpd.log目录下。前者是wu_ftpd类型的传输日志，可以利用标准日志工具对其进行分析；后者是vsftpd类型的日志</span></span><br><span class="line">dual_log_enable</span><br><span class="line"></span><br><span class="line"><span class="comment"># 如果添加并启用此选项，则原本应该输出到/var/log/vsftpd.log中的日志，将输出到系统日志中</span></span><br><span class="line">syslog_enable</span><br><span class="line"></span><br><span class="line"><span class="comment"># 设置数据传输中断间隔时间，此语句表示空闲的用户会话中断时间为600秒，即当数据传输结束后，用户连接FTP服务器的时间不应超过600秒，可以根据实际情况对该值进行修改</span></span><br><span class="line"><span class="attr">idle_session_timeout</span>=<span class="number">600</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 设置数据连接超时时间，该语句表示数据连接超时时间为 120 秒，可根据实际情况对其个修改 </span></span><br><span class="line"><span class="attr">data_connection_timeout</span>=<span class="number">120</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 运行 vsftpd 需要的非特权系统用户，默认是nobody</span></span><br><span class="line"><span class="attr">nopriv_user</span>=ftpsecure </span><br><span class="line"></span><br><span class="line"><span class="comment"># 启用此功能，服务器将识别异步ABOR请求。为了安全起见，不推荐使用（代码非同小可）。然而，不启用它，可能会使旧的FTP客户端感到困惑。</span></span><br><span class="line"><span class="attr">async_abor_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 大多数 FTP 服务器都选择用 ASCII 方式传输数据 ， YES表示用ASCII的方式上传和下载文件</span></span><br><span class="line"><span class="attr">ascii_upload_enable</span>=<span class="literal">YES</span> </span><br><span class="line"></span><br><span class="line"><span class="comment"># 用 ASCII 方式下载文件</span></span><br><span class="line"><span class="comment">#ascii_download_enable=YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 登录FTP服务器时显示的欢迎信息，可以修改=后的欢迎信息内容。另外如在需要设置更改目录欢迎信息的目录下创建名为 .message 的文件，并写入欢迎信息保存后，在进入到此目录会显示自定义欢迎信息</span></span><br><span class="line"><span class="attr">ftpd_banner</span>=Welcome to my FTP service. </span><br><span class="line"></span><br><span class="line"><span class="comment"># 可将某些特殊的 email address 抵挡住。如果以anonymous登录服务器时，会要求输入密码，也就是您的email address,如果很讨厌某些email address，就可以使用此设定来取消他的登录权限，但必须与下面的设置项配合</span></span><br><span class="line"><span class="attr">deny_email_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 当上面的 deny_email_enable=YES 时，可以利用这个设定项来规定那个email address不可登录vsftpd服务器，此文件需用户自己创建，一行一个email address即可！</span></span><br><span class="line"><span class="attr">banned_email_file</span>=/etc/vsftpd/banned_emails</span><br><span class="line"></span><br><span class="line"><span class="comment"># 设置为 NO 时，用户登录FTP服务器后具有访问自己目录以外的其他文件的权限， 设置为 YES 时 ， 用户被锁定在自己的 home 目录中，vsftpd将在下面 chroot_list_file选项值的位置寻找 chroot_list文件，此文件需用户建立,再将需锁定在自己home目录的用户列入其中，每行一个用户</span></span><br><span class="line"><span class="attr">chroot_list_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 此文件需自己建立 ， 被列入此文件的用户 ， 在登录后将不能切换到自己目录以外的其他目录 ， 由 FTP 服务器自动地 chrooted 到用户自己的home目录下，使得 chroot_list文件中的用户不能随意转到其他用户的FTP home目录下，从而有利于FTP服务器的安全管理和隐私保护</span></span><br><span class="line"><span class="attr">chroot_list_file</span>=/etc/vsftpd/chroot_list</span><br><span class="line"></span><br><span class="line"><span class="comment"># 是否允许递归查询 ， 大型站点的 FTP 服务器启用此项可以方便远程用户查询</span></span><br><span class="line"><span class="attr">ls_recurse_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 如果设置为 YES ， 则 vsftpd 将以独立模式运行，由vsftpd自己监听和处理连接请求</span></span><br><span class="line"><span class="attr">listen</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 设定是否支持IPV6</span></span><br><span class="line"><span class="attr">listen_ipv6</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 设置 PAM 外挂模块提供的认证服务所使用的配置文件名 ，即/etc/pam.d/vsftpd文件，此文件中file=/etc/vsftpd/ftpusers字段，说明了PAM模块能抵挡的帐号内容来自文件/etc/vsftpd/ftpusers中</span></span><br><span class="line"><span class="comment">#pam_service_name=vsftpd </span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 此选项默认值为NO ,此时ftpusers文件中的用户禁止登录FTP服务器；若此项设为YES，则 user_list文件中的用户允许登录   FTP服务器，而如果同时设置了 userlist_deny=YES ，则 user_list文件中的用户将不允许登录FTP服务器，甚至连输入密码提示信息都没有，直接被FTP服务器拒绝</span></span><br><span class="line"><span class="attr">userlist_enable</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 此项默认为YES，设置是否阻扯user_list文件中的用户登录FTP服务器</span></span><br><span class="line"><span class="attr">userlist_deny</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 表明服务器使用 tcp_wrappers 作为主机访问控制方式，tcp_wrappers可以实现linux系统中网络服务的基于主机地址的访问控制，在/etc目录中的hosts.allow和hosts.deny两个文件用于设置tcp_wrappers的访问控制，前者设置允许访问记录，后者设置拒绝访问记录。例如想限制某些主机对FTP服务器192.168.57.2的匿名访问，编缉/etc/hosts.allow 文件，如在下面增加两行命令：vsftpd:192.168.57.1ENY 和vsftpd:192.168.57.9ENY 表明限制IP为192.168.57.1/192.168.57.9主机访问IP为192.168.57.2的FTP服务器，此时FTP服务器虽可以PING通，但无法连接</span></span><br><span class="line"><span class="attr">tcp_wrappers</span>=<span class="literal">YES</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 在FTP服务器的管理中无论对本地用户还是匿名用户，对于FTP服务器资源的使用都需要进行控控制， 避免由于负担过大造成FTP服务器运行异常， 可以添加以下配置项对FTP客户机使用FTP服务器资源进行控制： </span></span><br><span class="line"><span class="comment"># 设置项用于设置FTP服务器所允许的最大客户端连接数，值为0时表示不限制。例如max_client=100表示FTP服务器的所有客户端最大连接数不超过100个。 </span></span><br><span class="line"><span class="attr">max_client</span>=<span class="number">100</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 设置项用于设置对于同一IP地址允许的最大客户端连接数，值为0时表示不限制。例如max_per_ip=5表示同一IP地址的FTP客户机与FTP服务器建立的最大连接数不超过5个。 </span></span><br><span class="line"><span class="attr">max_per_ip</span>=<span class="number">5</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 设置项用于设置本地用户的最大传输速率，单位为B/s，值为0时表示不限制。例如local_max_rate=500000表示FTP服务器的本地用户最大传输速率设置为500KB/s. </span></span><br><span class="line"><span class="attr">local_max_rate</span>=<span class="number">500000</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 设置项用于设置匿名用户的最大传输速率，单位为B/s,值为0表示不限制。例如ano_max_rate=200000，表示FTP服务器的匿名用户最大传输速率设置为200KB/s.</span></span><br><span class="line">ano <span class="attr">n_max_rate</span>=<span class="number">200000</span></span><br></pre></td></tr></table></figure>

<h2 id="用户访问控制"><a href="#用户访问控制" class="headerlink" title="用户访问控制"></a>用户访问控制</h2><p>vsftpd.user_list 文件需要与vsftpd.conf文件中的配置项结合来实现对于vsftpd.user_list文件中指定用户账号的访问控制： </p>
<ul>
<li><p>黑名单设置方案<br>当vsftpd.conf配置文件中包括以下设置时，vsftpd.user_list文件中的用户账号被禁止进行FTP登录： </p>
<figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">userlist_enable</span>=<span class="literal">YES</span> </span><br><span class="line"><span class="attr">userlist_deny</span>=<span class="literal">YES</span> </span><br></pre></td></tr></table></figure>

<p>userlist_enable设置项设置使用vsftpd.user_list文件，userlist_deny设置为YES表示vsftpd.user_list文件用于设置禁止的用户账号。 </p>
</li>
<li><p>白名单设置方案<br>当vsftpd.conf配置文件中包括以下设置时，只有vsftpd.user_list文件中的用户账号能够进行FTP登录： </p>
<figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">userlist_enable</span>=<span class="literal">YES</span> </span><br><span class="line"><span class="attr">userlist_deny</span>=<span class="literal">NO</span> </span><br></pre></td></tr></table></figure>

<p>userlist_enable设置项设置使用vsftpd.user_list文件，userlist _deny设置为NO表示vsftpd.usre_list文件用于设置只允许登录的用户账号，文件中未包括的用户账号被禁止FTP登录。 </p>
</li>
</ul>
<p>userlist_deny 和 userlist_enable 选项限制用户登录FTP 服务器 （使用userlist_deny 选项和user_list 文件一起能有效阻止root,apache,www 等系统用户登录FTP 服务器，从而保证FTP 服务器的分级安全性）： </p>
<table>
<thead>
<tr>
<th>配置项</th>
<th>ftpuser</th>
<th>user_list</th>
</tr>
</thead>
<tbody><tr>
<td>userlist_enable=YES</td>
<td>允许</td>
<td>允许</td>
</tr>
<tr>
<td>userlist_enable=NO</td>
<td>禁止</td>
<td>允许</td>
</tr>
<tr>
<td>userlist_deny=YES</td>
<td>禁止（登录时可以看到密码输入提示，但仍无法访问）</td>
<td>禁止</td>
</tr>
<tr>
<td>userlist_deny=NO</td>
<td>禁止</td>
<td>允许</td>
</tr>
<tr>
<td>userlist_enable=YES<br>userlist_deny=YES</td>
<td>禁止</td>
<td>禁止（登录时不会出现密码提示，直接被服务器拒绝）</td>
</tr>
<tr>
<td>userlist_enable=YES<br>userlist_deny=NO</td>
<td>禁止</td>
<td>允许</td>
</tr>
</tbody></table>
<h2 id="配置FTP服务器的虚拟用户"><a href="#配置FTP服务器的虚拟用户" class="headerlink" title="配置FTP服务器的虚拟用户"></a>配置FTP服务器的虚拟用户</h2><p>在vsftpd服务器中支持<strong>匿名用户</strong>，<strong>本地用户</strong>和<strong>虚拟用户</strong>3类用户账号，用途及区别如下： </p>
<ul>
<li><strong>匿名用户：</strong>是名为anonymous或ftp的FTP用户，匿名FTP用户登录后将FTP服务器中的/var/ftp作为FTP根目录。匿名用户通常用于提供公共文件的下载，如架设公共软件下载的FTP服务器，所有人都可以使用匿名用户进行软件下载。 </li>
<li><strong>本地用户：</strong>账号是FTP服务器中的系统用户账号，使用FTP本地用户账号登录FTP服务器后，登录目录为本地用户的宿主目录。本地FTP用户账号通常和Web服务器一起提供虚拟主机服务，作为网页虚拟主机更新网页的途径。 </li>
<li><strong>虚拟用户：</strong>账号是为了保证FTP服务器的安全性，由vsftpd服务器提供的非系统用户账号。虚拟用户FTP登录后将把指定的目录作为FTP根目录。虚拟用户与本地用户具有类似的功能，由于虚拟用户相对安全，因此正逐步替代本地用户账号。 </li>
</ul>
<p>由于虚拟用户账号具有较高的安全性，可以替代本地用户账号使用，下面是vsftpd虚拟用户账号设置的几个步骤：<br>以设置miket 和 john 两个虚拟用户帐号为例来配置vsftpd服务器 </p>
<ol>
<li><p><strong>建立虚拟用户口令库文件</strong><br>  建立虚拟用户的口令文件，文件中奇数行设置虚拟用户的用户名，偶数行设置用户的口令。例如，使用vi编辑器建立名为logins.txt的用户口令库文件，在文件中设置用户mike的口令为pwabcd,用户john 的口令是pw1234: </p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">vi logins.txt </span><br><span class="line">mike      ( 奇数行设置虚拟用户名) </span><br><span class="line">pwabcd   （偶数行设置用户口令） </span><br><span class="line">john </span><br><span class="line">pw1234 </span><br><span class="line">:wq(保存退出) </span><br></pre></td></tr></table></figure></li>
<li><p><strong>生成vsftpd 的认证文件</strong><br> 使用db_load 命令生成认证文件。“<code>-f</code>”命令选项设置的值是虚拟用户的口令库文件，即上面创建的logins.txt。命令的参数设置为需要生成的认证文件名如 vsftpd_login.db，该文件放置在目录/etc/vsftpd/下：</p>
 <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 生成认证文件</span></span><br><span class="line">db_load -T -t <span class="built_in">hash</span> –f logins.txt /etc/vsftpd_login.db </span><br><span class="line"></span><br><span class="line"><span class="comment"># 查看文件类型</span></span><br><span class="line">file /etc/vsftpd/vsftpd_login.db</span><br><span class="line"></span><br><span class="line"><span class="comment"># 生成的认证文件的权限应设置为只对root用户可读可写，即600: </span></span><br><span class="line">chmod 600 /etc/vsftpd/vsftpd_login.db </span><br><span class="line"></span><br></pre></td></tr></table></figure>
</li>
<li><p><strong>建立虚拟用户所需的PAM配置文件</strong><br>在/etc/pam.d目录下建立vsftpd虚拟用户身份认证所需的PAM配置文件，名称是vsftpd.vu,内容为：  </p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login </span><br><span class="line">account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login </span><br></pre></td></tr></table></figure></li>
<li><p><strong>建立虚拟用户及要访问的目录并设置相应的权限</strong></p>
</li>
</ol>
<p>  建立vsftpd虚拟用户所需的系统用户账号，账号名为virtual ，指定用户的宿主目录是/home/ftpsite, 设置宿主目录的权限为700： </p>
  <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">useradd -d /home/ftpsite virtual </span><br><span class="line">chmod 700 /home/ftpsite</span><br></pre></td></tr></table></figure>

<ol start="5">
<li><strong>设置vsftpd.conf主配置文件</strong></li>
</ol>
<p>  在对vsftpd.conf配置文件进行修改之前，应先将原有的文件进行备份，以便出现配置错误时可进行恢复：</p>
  <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cd</span> /etc/vsftpd</span><br><span class="line">cp vsftpd.conf vsftpd.conf.bak</span><br></pre></td></tr></table></figure>

<p>  在vsftpd.conf配置文件中添加虚拟用户的配置项，内容为： </p>
  <figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">guest_enable</span>=<span class="literal">YES</span> </span><br><span class="line"><span class="attr">guest_username</span>=virtual </span><br><span class="line"><span class="attr">pam_service_name</span>=vsftpd.vu</span><br></pre></td></tr></table></figure>

<ol start="6">
<li><strong>重新启动vsftpd服务程序</strong></li>
</ol>
<p>  在对vsftpd.conf配置文件进行了任何修改后都需要重新启动vsftpd服务，以便配置生效： </p>
  <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl restart vsftpd</span><br></pre></td></tr></table></figure>

<ol start="7">
<li><strong>测试vsftpd中的虚拟用户账号:mike 或 john</strong><br> 在测试前可以先在/home/ftpsite目录中建立测试文件，用于测试时进行下载，并设置该文件的属主和属组为virtual。</li>
</ol>
  <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">touch /home/ftpsite/afile</span><br><span class="line">chown virtual.virtual /home/ftpsite/afile</span><br></pre></td></tr></table></figure>

<p>  使用ftp命令登录vsftpd服务器，并使用已配置的虚拟用户帐号mike进行登录 </p>
  <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">ftp localhost </span><br><span class="line">	name (localhost:root):mike </span><br><span class="line">	password:</span><br><span class="line"><span class="comment"># 在完成虚拟用户的FTP登录后，可使用get命令下载测试文件，测试文件会保存到用户的当前目录中。 </span></span><br><span class="line">ftp&gt;get afile</span><br></pre></td></tr></table></figure>

<ol start="8">
<li><strong>对不同的虚拟用户设置不同的权限</strong></li>
</ol>
<p>  vsftpd服务器中的虚拟用户可以灵活的针对不同的用户账号设置不同的用户权限，配置的步骤如下： </p>
<ol>
<li><p>设置主配置文件：</p>
<p>在vsftpd.conf配置文件中添加user_config_dir配置项，并设置用户配置文件的保存目录。</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">user_config_dir=/etc/vsftpd_user_conf</span><br></pre></td></tr></table></figure>

<p>在上面的配置实例中，设置在/etc/vsftpd_user_conf目录中保存虚拟用户的配置文件。</p>
</li>
<li><p>建立用户配置文件目录<br>使用mkdir命令建立虚拟用户配置文件的保存目录 </p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mkdir /etc/vsftpd_user_conf</span><br></pre></td></tr></table></figure></li>
<li><p>为虚拟用户建立单独的配置文件</p>
<p>在/etc/vsftpd_user_conf/目录中可以为每个虚拟用户建立<strong>独立的配置文件</strong>，<strong>配置文件名称和用户名相同</strong>。例如：为用户mike建立配置文件mike ,并将anon_world_readable_only设置为NO，表示用户具有浏览和下载的权限 </p>
<figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># cat /etc/vsftpd_user_conf/mike </span></span><br><span class="line"><span class="attr">anon_world_readable_only</span>=<span class="literal">NO</span> </span><br><span class="line"></span><br><span class="line"><span class="comment"># 为用户john建立配置文件john，并设置该用户具有浏览，下载，上传，改名，删除文件，建立和删除的权限。 </span></span><br><span class="line"><span class="comment"># cat  john </span></span><br><span class="line"><span class="comment"># 表示用户可以浏览FTP目录和下载文件</span></span><br><span class="line"><span class="attr">anon_world_readable_only</span>=<span class="literal">NO</span></span><br><span class="line"><span class="comment"># 表示用户可以上传文件    </span></span><br><span class="line"><span class="attr">anon_upload_enable</span>=<span class="literal">YES</span>    </span><br><span class="line"><span class="comment"># 表示用户具有建立和删除目录的权利     </span></span><br><span class="line"><span class="attr">anon_mkdir_write_enable</span>=<span class="literal">YES</span></span><br><span class="line"><span class="comment"># 表示用户具有文件改名和删除文件的权限    </span></span><br><span class="line"><span class="attr">anon_other_write_enable</span>=<span class="literal">YES</span>  </span><br></pre></td></tr></table></figure></li>
</ol>
<p>  通过对以上配置项的组合设置，vsftpd可以为每个虚拟用户配置不同的FTP权限，用户配置文件中没有的配置项将按照vsftpd.conf配置文件中的内容设置。 </p>
<h2 id="其它主要设置"><a href="#其它主要设置" class="headerlink" title="其它主要设置"></a>其它主要设置</h2><ul>
<li><p>最大传输速率设置：</p>
<p>设置匿名用户的最大传输率为20Kbps,修改/etc/vsftpd/vsftpd.conf 添加语句：anon_max_rate=20000<br>设置本地帐号最大传输率为1Mbps，修改/etc/vsftpd/vsftpd.conf 添加语句：local_max_rate=1000000 </p>
</li>
<li><p>服务器最大并发数和用户最大线程数设置：<br>例如设置服务器允许的最大并发数为99，而每个用户同一时段的最大并发线程数为5，修改/etc/vsftpd/vsftpd.conf 添加两行语句：max_clients=99 和 max_per_ip=5 </p>
</li>
<li><p>修改默认端口：<br>默认FTP服务器端口号是21，出于安全目的，有时需修改默认端口号，修改/etc/vsftpd/vsftpd.conf<br>添加语句(例)：listen_port=4449 该语句指定了修改后FTP服务器的端口号，应尽量大于4000，修改后访问 </p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 需加上正确的端口号了，否则不能正常连接</span></span><br><span class="line">ftp 192.168.57.2 4449</span><br></pre></td></tr></table></figure></li>
<li><p>设置用户组，增强FTP服务器安全性： </p>
<p>举例：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 创建新目录</span></span><br><span class="line">mkdir /home/try</span><br><span class="line"><span class="comment"># 新建组</span></span><br><span class="line">groupadd try      </span><br><span class="line"><span class="comment"># 新建用户try1并指定家目录和属组</span></span><br><span class="line">useradd –g try –d /home/try try1 </span><br><span class="line"><span class="comment"># 新建用户try2并指定家目录和属组</span></span><br><span class="line">useradd –g try –d /home/try try2</span><br><span class="line"><span class="comment"># 新建用户try3并指定家目录和属组</span></span><br><span class="line">useradd –g try –d /home/try try3</span><br><span class="line"><span class="comment"># 为新用户设密码</span></span><br><span class="line">passwd try1</span><br><span class="line"><span class="comment"># 为新用户设密码</span></span><br><span class="line">passwd try2</span><br><span class="line"><span class="comment"># 为新用户设密码</span></span><br><span class="line">passwd try3</span><br><span class="line"><span class="comment"># 设置目录属主为用户try1</span></span><br><span class="line">chown try1 /home/try</span><br><span class="line"><span class="comment"># 设置目录属组为组try</span></span><br><span class="line">chown .try /home/try</span><br><span class="line"><span class="comment"># 设置目录访问权限try1为读，写，执行；try2，try3为读</span></span><br><span class="line">chmod 750 /home/try   </span><br></pre></td></tr></table></figure>

<p>由于本地用户登录FTP服务器后进入自己主目录，而try1,try2 try3对主目录/home/try分配的权限不同，所以通过FTP访问的权限也不同，try1访问权限为：上传，下载，建目录 ;try2ty3访问权限为下载，浏览，不能建目录和上传。实现了群组中用户不同访问级别，加强了对FTP服务器的分级安全管理。 </p>
</li>
<li><p>常见的vsftpd日志解决方案如下： </p>
  <figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 表明FTP服务器记录上传下载的情况</span></span><br><span class="line"><span class="attr">xferlog_enable</span>=<span class="literal">YES</span></span><br><span class="line"><span class="attr">xferlog_std_format</span>=<span class="literal">YES</span></span><br><span class="line"><span class="comment"># 表明将记录的上传下载情况写在xferlog_file所指定的文件中，即xferlog_file选项指定的/var/log/xferlog文件中</span></span><br><span class="line"><span class="attr">xferlog_file</span>=/var/log/xferlog </span><br><span class="line"><span class="comment"># 表明启用了双份日志，在用xferlog文件记录服务器上传下载情况的同时，vsftpd_log_file所指定的文件，即/var/log/vsftpd.log也将用来记录服务器的传输情况</span></span><br><span class="line"><span class="attr">dual_log_enable</span>=<span class="literal">YES</span></span><br><span class="line"><span class="attr">vsftpd_log_file</span>=/var/log/vsftpd.log </span><br></pre></td></tr></table></figure></li>
<li><p>匿名FTP设置方法： </p>
<p>通常在登录FTP服务器的用户不确定的情况下，应将FTP服务器设置为允许匿名账号登录的FTP服务器 </p>
<ul>
<li><p>启用匿名帐号 </p>
<figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">anonymous_enable</span>=<span class="literal">YES</span> </span><br><span class="line"><span class="attr">local_enable</span>=<span class="literal">YES</span> </span><br><span class="line"><span class="attr">write_enable</span>=<span class="literal">YES</span> </span><br><span class="line"><span class="attr">listen</span>=<span class="literal">YES</span> </span><br></pre></td></tr></table></figure></li>
</ul>
<p>设置完成后，重启vsftd.将允许匿名账号和本地账号登录FTP服务器，同时允许匿名用户具有对FTP服务器文件的写权限，并且只能下载文件而不能上传，不允许匿名账号创建文件夹，匿名用户的口令为一个E-mail地址。 </p>
<ul>
<li><p>允许匿名账号上传文件 </p>
<figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">anon_upload_enable</span>=<span class="literal">YES</span> </span><br><span class="line"><span class="attr">anon_mkdir_write_enable</span>=<span class="literal">YES</span></span><br></pre></td></tr></table></figure>

<p>将#去掉即可，重启vsftpd.将允许匿名账号上传文件，也就是具有在FTP服务器的本地目录中新建文件和文件夹的功能 </p>
</li>
<li><p>仅允许匿名用户访问 </p>
<figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#local_enable=YES </span></span><br><span class="line"><span class="comment">#write_enable=YES </span></span><br></pre></td></tr></table></figure>


<p>在前面加上#，即限制本地账号访问，仅允许匿名用户访问。</p>
</li>
<li><p>禁止匿名访问，允许本地账号访问 </p>
<figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">anonymous_enable</span>=<span class="literal">NO</span> </span><br><span class="line"><span class="attr">local_enable</span>=<span class="literal">YES</span> </span><br><span class="line"><span class="attr">write_enable</span>=<span class="literal">YES</span> </span><br></pre></td></tr></table></figure></li>
</ul>
</li>
</ul>

    </div>

    
    
    

    <footer class="post-footer">
          <div class="post-tags">
              <a href="/tags/ftp/" rel="tag"># ftp</a>
              <a href="/tags/linux/" rel="tag"># linux</a>
              <a href="/tags/vsftpd/" rel="tag"># vsftpd</a>
          </div>

        

          <div class="post-nav">
            <div class="post-nav-item">
                <a href="/2021/09/03/git-no-passwd/" rel="prev" title="git取消push需要输入密码的步骤">
                  <i class="fa fa-chevron-left"></i> git取消push需要输入密码的步骤
                </a>
            </div>
            <div class="post-nav-item">
                <a href="/2021/09/07/gcc-chang-different/" rel="next" title="g++和chang编译程序出现不同结果分析">
                  g++和chang编译程序出现不同结果分析 <i class="fa fa-chevron-right"></i>
                </a>
            </div>
          </div>
    </footer>
  </article>
</div>






</div>
  </main>

  <footer class="footer">
    <div class="footer-inner">


<div class="copyright">
  &copy; 
  <span itemprop="copyrightYear">2021</span>
  <span class="with-love">
    <i class="fa fa-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">Maicss</span>
</div>
  <div class="powered-by">由 <a href="https://hexo.io/" rel="noopener" target="_blank">Hexo</a> & <a href="https://theme-next.js.org/muse/" rel="noopener" target="_blank">NexT.Muse</a> 强力驱动
  </div>

    </div>
  </footer>

  
  <script src="https://cdn.jsdelivr.net/npm/animejs@3.2.1/lib/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous"></script>
<script src="/js/comments.js"></script><script src="/js/utils.js"></script><script src="/js/motion.js"></script><script src="/js/schemes/muse.js"></script><script src="/js/next-boot.js"></script>

  





  





</body>
</html>
